<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    

    <script>
        // // 1、设置方法参数默认值（即参数a为空时，使用默认值）

        // // 原始方法
        // function add(a, b){
        //     b = b || 0;
        //     return a+b;
        // }

        // // 现在默认设置
        // function add(a, b = 0){ //使用该方法的时候 先var b = 0，传参的时候b有参数出来就赋值，没有就不赋值
        //     return a+b;
        // }
        // console.log(add(1)); //1   
        // console.log(add(1,1)); //1   
        // //如果没有 b=b||0 ,报 NaN  即不是数字，因为b声明了，但没有指定是什么类型，所以报NaN不是数字类型的错误


        
        // // 2、不定参数（无论传多少参数都行）
        // function fun(...value){ 
        //     return value.length;
        // }

        // console.log("不定参数：",fun(1,1,1,1,1));



        // // 3、箭头函数

        // // 以前声明一个方法
        // var print = function(obj){
        //     console.log(obj);
        // }


        // // 箭头函数
        // var print1 = (obj) => console.log(obj);
        
        // // 执行方法
        // print(1);   //1
        // print1(1);  //1




        // 4、箭头函数+解构对象

        let person = {
            name: "king",
            age: "18",
            language: "chinese"
        }

        // 原方法
        let show = function show(person){
            console.log("person对象中属性名字为：",person.name);
        }

        let show1 = ({name}) => {console.log("person对象中属性名字为：",name);}

        // 执行方法
        show(person);   //person对象中属性名字为： king
        show1(person);  //person对象中属性名字为： king
    </script>


</body>
</html>